A Traversable Fixed Size Small Object Allocator in C++
نویسندگان
چکیده
At the allocation and deallocation of small objects with fixed size, the standard allocator of the runtime system has commonly a worse time performance compared to allocators adapted for a special application field. We propose a memory allocator, originally developed for mesh primitives but also usable for any other small equally sized objects. For a large amount of objects it leads to better results than allocating data with the C++new instruction and behaves nowhere worse. The proposed synchronization approach for this allocator behaves lock-free in practical scenarios without using machine instructions, such as compare-and-swap. A traversal structure is integrated requiring less memory than using containers such as STL-vectors or lists, but with comparable time performance.
منابع مشابه
Hardware Concurrent Garbage Collection for Short-Lived Objects in Mobile Java Devices
jHISC is an object-oriented processor for embedded system aiming at accelerating Java execution by hardware approach. Garbage collection is one of the critical tasks in a Java Virtual Machine. In this paper, we have conduct a study of dynamic object allocation and garbage collection behavior of Java program based on SPECjvm 98 benchmark suite and MIDP applications for mobile phones. Life, size,...
متن کاملMagazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources
The slab allocator [Bonwick94] provides efficient object caching but has two significant limitations: its global locking doesn’t scale to many CPUs, and the allocator can’t manage resources other than kernel memory. To provide scalability we introduce a per−processor caching scheme called the magazine layer that provides linear scaling to any number of CPUs. To support more general resource all...
متن کاملA Scalable and Eecient Storage Allocator on Shared-memory Multiprocessors
An eecient dynamic storage allocator is important for time-critical parallel programs. In this paper, we present a fast and simple parallel allocator for xed size block on shared-memory multiprocessors. We show both theoretically and empirically that the allocator incurs very low lock contention. The allocator is tested with parallel simulation applications with frequent allocation and release ...
متن کاملComparison of Small Area Estimation Methods for Estimating Unemployment Rate
Extended Abstract. In recent years, needs for small area estimations have been greatly increased for large surveys particularly household surveys in Sta­ tistical Centre of Iran (SCI), because of the costs and respondent burden. The lack of suitable auxiliary variables between two decennial housing and popula­ tion census is a challenge for SCI in using these methods. In general, the...
متن کاملA tunable hybrid memory allocator q Yusuf
Dynamic memory management can make up to 60% of total program execution time. Object oriented languages such as C++ can use 20 times more memory than procedural languages like C. Bad memory management causes severe waste of memory, several times that actually needed, in programs. It can also cause degradation in performance. Many widely used allocators waste memory and/or CPU time. Since comput...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1611.01667 شماره
صفحات -
تاریخ انتشار 2016